// Check to see if we are at the file scope
if ( !isset( $wgVersion ) ) {
- die( "Error, Setup.php must be included from the file scope, after DefaultSettings.php\n" );
+ echo "Error, Setup.php must be included from the file scope, after DefaultSettings.php\n";
+ die( -1 );
}
if( !isset( $wgProfiling ) )
require_once( 'GlobalFunctions.php' );
require_once( 'Hooks.php' );
require_once( 'Namespace.php' );
-require_once( 'RecentChange.php' );
require_once( 'User.php' );
require_once( 'Skin.php' );
require_once( 'OutputPage.php' );
wfProfileIn( $fname.'-SetupSession' );
if ( $wgDBprefix ) {
- session_name( $wgDBname . '_' . $wgDBprefix . '_session' );
+ $wgCookiePrefix = $wgDBname . '_' . $wgDBprefix;
+} elseif ( $wgSharedDB ) {
+ $wgCookiePrefix = $wgSharedDB;
} else {
- session_name( $wgDBname . '_session' );
+ $wgCookiePrefix = $wgDBname;
}
-if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKIE[$wgDBname.'Token'] ) ) ) {
+# If session.auto_start is there, we can't touch session name
+#
+if (!ini_get('session.auto_start')) {
+ session_name( $wgCookiePrefix . '_session' );
+}
+
+if( !$wgCommandLineMode && ( isset( $_COOKIE[session_name()] ) || isset( $_COOKIE[$wgCookiePrefix.'Token'] ) ) ) {
wfIncrStats( 'request_with_session' );
User::SetupSession();
$wgSessionStarted = true;
# Skin setup functions
# Entries can be added to this variable during the inclusion
# of the extension file. Skins can then perform any necessary initialisation.
+#
+# require_once is slow even on the second call, so this needs to be outside the loop
+if ( count( $wgSkinExtensionFunctions ) ) {
+ require_once( 'PersistentObject.php' );
+}
foreach ( $wgSkinExtensionFunctions as $func ) {
- require_once 'PersistentObject.php';
-
call_user_func( $func );
}
$wgLang = &$wgContLang;
} else {
wfSuppressWarnings();
+ // Preload base classes to work around APC/PHP5 bug
+ include_once("$IP/languages/$wgLangClass.deps.php");
include_once("$IP/languages/$wgLangClass.php");
wfRestoreWarnings();
# Entries should be added to this variable during the inclusion
# of the extension file. This allows the extension to perform
# any necessary initialisation in the fully initialised environment
+if ( count( $wgExtensionFunctions ) ) {
+ require_once( 'PersistentObject.php' );
+}
foreach ( $wgExtensionFunctions as $func ) {
- require_once 'PersistentObject.php';
-
call_user_func( $func );
}